#include "src/utils/utils.h"
#include "src/gemm/gemm.h"


#define ROWS 1024 
#define COLS 4096

#define BLOCKSIZE 32
#define DTYPE float

int main(){
    using dtype = DTYPE;
    int rows=1024;
    int cols=4096;
    int blocksize = BLOCKSIZE;
    dtype* ha;
    dtype* hb;
    dtype* hc;
    dtype* hc_;
    dtype* da;
    dtype* db;
    dtype* dc;
    ha = (dtype*)malloc(rows*cols*sizeof(dtype));
    hb = (dtype*)malloc(rows*cols*sizeof(dtype));
    hc = (dtype*)malloc(rows*cols*sizeof(dtype));
    hc_ = (dtype*)malloc(rows*cols*sizeof(dtype));
    ptr_data_init(ha,rows*cols);
    ptr_data_init(hb,rows*cols);
    cudaMalloc((void**)&da,rows*cols*sizeof(dtype));
    cudaMalloc((void**)&db,rows*cols*sizeof(dtype));
    cudaMalloc((void**)&dc,rows*cols*sizeof(dtype));
    launch_cuda_gemm(false,true,da,db,dc,rows,cols,blocksize,rows*cols);

}